Cleaning robot and control method thereof

ABSTRACT

A cleaning robot having improved traveling performance and a method of controlling the same. The cleaning robot detects a stuck state such as a ‘jammed state, ‘lifted state’, or ‘object-caught state’ by using a motion instruction or sensor information and quickly escapes from the stuck state caused in various traveling conditions by using a wheel structure capable of changing a total height of the cleaning robot. In addition, a degree of risk and type of the stuck state is predicted before the cleaning robot is in the stuck state so that the cleaning robot may deal with the stuck state in advance. The cleaning robot may escape from the stuck state via rapidly deceleration or quick stopping in accordance with the predicted degree of risk of the stuck state, and the cleaning robot may efficiently deal with the stuck state by using information to select an escaping method suitable for the type of the stuck state.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication No. 61/973,434, filed on Apr. 1, 2014 in the USPTO, and ofKorean Patent Applications No. 10-2013-0149881, filed on Dec. 4, 2013and No. 10-2014-0104284, filed on Aug. 12, 2014 in the KoreanIntellectual Property Office, the disclosures of which are incorporatedherein by reference.

BACKGROUND

1. Field

Embodiments of the present disclosure relate to a cleaning robot havingimproved traveling performance and a method of controlling the same.

2. Description of the Related Art

In general, a cleaning robot is an apparatus which sucks up foreignsubstances such as dust, from a floor surface to clean a region to becleaned while autonomously traveling about the region to be cleanedwithout manipulation of a user.

A cleaning robot is provided with a pair of driving wheels for travelingat both lower sides of a main body and at least one caster to supportthe main body to allow the main body of the cleaning robot to moveforward, move backward, or rotate in a region to be cleaned. In theregion to be cleaned where the cleaning robot travels, obstacles such asa step (door threshold), an object having an inclined surface, a pieceof furniture, and the like may be present.

A robot including a main body with a low height such as a cleaning robotmay enter a narrow space of an obstacle (e.g., space under a bed orsofa) so that an upper portion of the cleaning robot is jammed(hereinafter, referred to as ‘jammed state’), or a bottom surface of thecleaning robot may be caught by a structure or groove formed on thefloor or the cleaning robot may climb on an obstacle so that drivingwheels of the cleaning robot are lifted up (hereinafter, referred to as‘lifted state’). Thus, the cleaning robot is often brought into atraveling-impossible state (hereinafter, referred to as ‘stuck state’).Besides, the cleaning robot may get stuck in a soft object such asbedclothes or clothes to be washed so that the cleaning robot is caughtby an object (hereinafter, referred to as ‘object-caught state’),thereby causing a stuck state.

In conventional cleaning robots, a sensor to sense such ‘jammed state’,‘lifted state’, or ‘object-caught state’ is not installed or an idlingwheel is protruded by applying a suspension using a spring only when onewheel contacts the floor in the ‘lifted state’.

However, since conventional cleaning robots rely on force of springs,sufficient contact force may not be obtained when a wheel is lifted andit is difficult to escape from an obstacle even after the wheel contactsthe floor. Since a wheel perpendicularly protrudes, it is impossible toescape from a jammed state of a side portion. In addition, conventionalcleaning robots cannot escape from a jammed state of an upper portionthereof since a function of reducing a total height (length from thefloor to a top portion of the main body) is not provided thereto.

Robots now under investigation may determine a stuck state by estimatinga current status of the robot in real time by utilizing high-precisionposition estimation, image information, and the like. However, thesetechniques are not suitable for relatively small and low cost robotssuch as cleaning robots in which height, weight, and manufacturing costsare limited. In addition, a method of sensing a stuck state by using acurrent sensor of a wheel drive unit conventionally used in cleaningrobots is not suitable for dealing with the stuck state afterunderstanding a current situation since it cannot be applied to varioussituations. Since a location recognition technique via simultaneouslocalization and mapping (SLAM) by using a ceiling camera operates onlywhen there are sufficient feature points on the ceiling parallel to thefloor, it is not reliable when the cleaning robot is slanted in a stuckstate, the cleaning robot enters a space under the furniture, or thelike.

SUMMARY

Therefore, it is an aspect of the present disclosure to provide acleaning robot capable of detecting a stuck state such as ‘jammedstate’, ‘lifted state’, or ‘object-caught state’ by using a motioninstruction or sensor information, and a method of controlling the same.

It is another aspect of the present disclosure to provide a cleaningrobot having an improved wheel structure capable of escaping from astuck state caused under various traveling conditions, and a method ofcontrolling the same.

It is another aspect of the present disclosure to provide a cleaningrobot capable of detecting that the cleaning robot is in a stuck stateby using sensor information obtained from sensors suitable for smallcleaning robots and robot instructions/information regardingsurroundings obtained for a predetermined time period and classifyingthe stuck state, and a method of controlling the same.

It is another aspect of the present disclosure to provide a cleaningrobot capable of predicting a degree of risk and type of a stuck statebefore the cleaning robot is in the stuck state and providing anescaping method suitable for the stuck state in order to deal with thestuck state in advance, and a method of controlling the same.

Additional aspects of the invention will be set forth in part in thedescription which follows and, in part, will be apparent from thedescription, or may be learned by practice of the invention.

In accordance with one aspect of the present disclosure, a cleaningrobot includes a main body, a drive unit to move the main body. Thedrive unit includes a plurality of motors to generate driving force, aplurality of wheels connected to one of the plurality of motors androtating by driving force received from the one of the plurality ofmotors, and a driving frame to support the plurality of wheels, receivedriving force from another motor among the plurality of motors, androtate for changing positions of the plurality of wheels.

The plurality of motors may include a first motor to rotate theplurality of wheels to move the main body and a second motor to rotatethe driving frame to control a height of the main body.

The second motor may be installed perpendicular to the first motor torotate the driving frame about a rotation shaft.

The cleaning robot may further include a gear unit to transmit drivingforce of the second motor to the driving frame. The gear unit includes aworm gear to rotate in a state of being coupled to the second motor, atilting gear to rotate the driving frame about the rotation shaft inaccordance with the rotation of the worm gear.

The driving frame may be coupled to the tilting gear, and the gear unitmay further include a connection gear to transmit driving force of thesecond motor between the worm gear and the tilting gear.

A rotation shaft of the tilting gear may be coaxially aligned to arotation shaft of the first motor.

The plurality of wheels may include a main wheel driven to move the mainbody and a sub wheel driven in a state of being installed at an innerportion than the main wheel.

The main wheel and the sub wheel may be aligned to travel in differentdirections.

The cleaning robot may further include a current sensor to measurecurrent flowing through the second motor, and the current sensor maydetect whether the sub wheel contacts a floor or whether the sub wheelis restricted while the driving frame rotates.

In accordance with another aspect of the present disclosure, a cleaningrobot includes a main body and a drive unit to move the main body, aninput unit to input a motion instruction for the cleaning robot, anencoder to measure movement of the drive unit moving in accordance withthe input motion instruction, a position sensor to measure movement ofthe cleaning robot, a controller to determine a traveling state of thecleaning robot by using a position value acquired in accordance with theinput motion instruction, a position value of the cleaning robotcalculated based on measurements of the encoder, and a position value ofthe cleaning robot calculated based on sensor information of theposition sensor. The drive unit includes a wheel assembly including amain wheel and a sub wheel and a driving frame rotatable to change aposition of the wheel assembly.

The drive unit may further include a first motor and a second motor totransmit driving force, the main wheel and the sub wheel may beconnected to the first motor and rotate by driving force received fromthe first motor, and the driving frame may rotate by driving forcereceived from the second motor to change a position of the wheelassembly.

The encoder may be installed in the first motor to measure an amount ofmovement of the first motor according to the motion instruction for thecleaning robot.

The position sensor may be an optical flow sensor to measure a distancethe cleaning robot has actually moved.

At least one position sensor may be installed in the main body.

The controller may drive the second motor to rotate the driving frameincluding the wheel assembly upon determining that the cleaning robot isin a traveling-impossible stuck state.

The cleaning robot may further include a current sensor to sense currentflowing through the second motor. The controller may stop the rotatingof the driving frame when a change of current flowing through the secondmotor is detected during the rotation of the driving frame.

The cleaning robot may further include a current sensor to sense currentflowing through the second motor. The controller changes the rotation ofthe driving frame in the opposite direction when overcurrent is detectedin the second motor.

The cleaning robot may further include a tilt sensor to measure aninclination of the cleaning robot, and the controller calculates anangle the cleaning robot has moved based on measurements of the encoder,measures an angle the cleaning robot has moved based on sensorinformation of the tilt sensor, and determines a traveling state of thecleaning robot by using the calculated angle of the cleaning robot andthe measured angle of the cleaning robot.

The tilt sensor may be a gyro sensor to measure an angle the cleaningrobot has actually moved.

The controller may determine whether the cleaning robot is in atraveling-impossible stuck state by detecting a difference between thecalculated position or angle of the cleaning robot and the measuredposition or angle of the cleaning robot for a predetermined time period.

In accordance with a further aspect of the present disclosure, a methodof controlling a cleaning robot includes a main body; and a drive unitincluding a wheel assembly including a main wheel and a sub wheel and adriving frame supporting the wheel assembly and rotatable to change aposition of the wheel assembly includes calculating a position or anglethe cleaning robot has moved by measuring movement of the drive unitmoving in accordance with the input motion instruction through anencoder, measuring movement of the cleaning robot through a sensor, anddetermining a traveling state of the cleaning robot by using thecalculated position or angle of the cleaning robot and the measuredposition or angle of the cleaning robot.

The sensor may include a position sensor to measure a distance thecleaning robot has actually moved, and a tilt sensor to measure an anglethe cleaning robot has actually moved.

The determining of the traveling state of the cleaning robot may beperformed by determining whether the cleaning robot is in atraveling-impossible stuck state by detecting a difference between thecalculated position or angle of the cleaning robot and the measuredposition or angle of the cleaning robot for a predetermined time period.

The driving frame may be rotated upon determination that the cleaningrobot is in a traveling-impossible stuck state.

When a change of current is sensed in a motor rotating the driving framewhile the driving frame rotates, the rotation of the driving frame isstopped.

When overcurrent is sensed in a motor rotating the driving frame whilethe driving frame rotates, the rotation of the driving frame is changedin the opposite direction.

In accordance with another aspect of the present disclosure, a cleaningrobot including a main body and a drive unit to move the main body, mayfurther include an input unit to input a motion instruction for thecleaning robot, a tilt sensor to measure an inclination of the cleaningrobot moving in accordance with the input motion instruction, and acontroller to determine a stuck state of the cleaning robot by using anangle value obtained by measuring an angle the cleaning robot has movedbased on sensor information of the tilt sensor.

The drive unit may further include left and right driving motors totransmit driving force to left and right sides of the main body, and thecleaning robot may further include a first encoder installed in the leftdriving motor to measure an amount of movement of the left driving motorgenerated by the motion instruction for the cleaning robot, and a secondencoder installed in the right driving motor to measure an amount ofmovement of the right driving motor generated by the motion instructionfor the cleaning robot.

The tilt sensor may be a gyro sensor to measure an inclination value thecleaning robot has actually moved.

The controller may calculate an angle the cleaning robot has moved basedon measurements of the first and second encoders, measure an angle thecleaning robot has moved based on sensor information of the tilt sensor,and determine a stuck state of the cleaning robot by using a differencebetween the calculated angle of the cleaning robot and the measuredangle of the cleaning robot.

The controller may calculate first and second encoder variations A1 andA2 the cleaning robot has moved based on the measurements of the firstand second encoders, calculate an inclination value variation B thecleaning robot has moved based on the sensor information of the tiltsensor, and determine a degree of risk and type of the stuck state ofthe cleaning robot by using the calculated first and second encodervariations A1 and A2 and the calculated inclination value variation B.

The controller may determine that the cleaning robot is in a low risk‘lifted stated’ when at least one of the first and second encodervariations A1 and A2 is greater than a first encoder threshold(A_(th1)=V+V*0.06), and the inclination value variation B is greaterthan a first inclination threshold (B_(th1)=±3°).

The controller may rapidly decelerate the driving motors to enable thecleaning robot to escape from the low risk ‘lifted state’ and provideinformation suitable for escaping from the ‘lifted state’.

The controller may determine that the cleaning robot is in a low riskupper portion ‘jammed stated’ when at least one of the first and secondencoder variations A1 and A2 is less than a first encoder threshold(A_(th1)=V+V*0.06), and the inclination value variation B is greaterthan a first inclination threshold (B_(th1)=±3°).

The controller rapidly may decelerate the driving motors to enable thecleaning robot to escape from the low risk upper portion ‘jammed state’and provide information suitable for escaping from the upper portion‘jammed state’.

The controller may determine the stuck state of the cleaning robot bydetecting the difference between the calculated angle of the cleaningrobot and the measured angle of the cleaning robot for a predeterminedtime period.

The controller may calculate first and second encoder variations A1_(t1)and A2_(t1) the cleaning robot has moved for a first time period t1based on the measurements of the first and second encoders, calculate aninclination value variation B the cleaning robot has moved based on thesensor information of the tilt sensor, and determine a degree of riskand type of the stuck state of the cleaning robot by using thecalculated first and second encoder variations A1_(t1) and A2_(t1) andthe calculated inclination value variation B.

The controller may determine that the cleaning robot is in a low risk‘object-caught state’ when at least one of the first and second encodervariations A1_(t1) and A2_(t1) is less than a first encoder threshold(A_(th1)=V+V*0.06), and the inclination value variation B is greaterthan a reference threshold B_(s) of the upper portion jammed state.

The controller may rapidly decelerate the driving motors to enable thecleaning robot to escape from the low risk “object-caught state’ andprovide information suitable for escaping from “object-caught state.

The controller may determine that the cleaning robot is in a high risk‘lifted state’ when at least one of the first and second encodervariations A1 and A2 indicates an idle state, and the inclination valuevariation B is greater than a second inclination threshold(B_(th2)=tan−1 (2r/h)).

The controller may quickly stop the driving motors to enable thecleaning robot to escape from the high risk ‘lifted state’ and provideinformation suitable for escaping from the ‘lifted state’.

The controller may determine that the cleaning robot is in a high riskupper portion ‘jammed stated’ when at least one of the first and secondencoder variations A1 and A2 is less than a first encoder threshold(A_(th1)=V+V*0.06) and greater than a second encoder threshold A_(th2),and the inclination value variation B is greater than a firstinclination threshold (B_(th1)=±3°),

The controller may quickly stop the driving motors to enable thecleaning robot to escape from the high risk upper portion ‘jammed state’and provide information suitable for escaping from the upper portion‘jammed state’

The controller may calculate first and second encoder variations A1_(t2)and A2_(t2) the cleaning robot has moved for a second time period t2based on the measurements of the first and second encoders, calculate aninclination value variation B the cleaning robot has moved based on thesensor information of the tilt sensor, and determine a degree of riskand type of the stuck state of the cleaning robot by using thecalculated first and second encoder variations A1_(t2) and A2_(t2) andthe calculated inclination value variation B.

The controller may determine that the cleaning robot is in a high risk‘object-caught state’ when at least one of the first and second encodervariations A1_(t2) and A2_(t2) is less than a first encoder threshold(A_(th1)=V+V*0.06), and the inclination value variation B is greaterthan a reference threshold B_(s) of the upper portion jammed state,

The controller may quickly stop the driving motors to enable thecleaning robot to escape from the high risk “object-caught state’ andprovide information suitable for escaping from the “object-caughtstate’.

In accordance with another aspect of the present disclosure, a cleaningrobot including a main body and left and right drive units to move themain body, further includes an input unit to input a motion instructionfor the cleaning robot, first and second encoders to measure movement ofthe left and right drive units moving in accordance with the inputmotion instruction, and a controller to determine a stuck state of thecleaning robot by using an angle value obtained by calculating an anglethe cleaning robot has moved based on measurements of the first andsecond encoders.

The cleaning robot may further include a tilt sensor to measure aninclination of the cleaning robot, and the controller may determine astuck state of the cleaning robot by using an angle value obtained bycalculating an angle the cleaning robot has moved based on measurementsof the first and second encoders and an angle value obtained bymeasuring an angle the cleaning robot has moved based on sensorinformation of the tilt sensor.

In accordance with another aspect of the present disclosure, a method ofcontrolling a cleaning robot including a main body and left and rightdrive units to move the main body includes calculating an angle thecleaning robot has moved by measuring movement of the left and rightdrive units moving in accordance with an input motion instruction byusing first and second encoders, measuring an angle the cleaning robothas moved by using a tilt sensor, and determining a stuck state in whichtraveling of the cleaning robot is impossible by using the calculatedangle of the cleaning robot and the measured angle of the cleaningrobot.

According to the cleaning robot and the control method thereof, thecleaning robot detects a stuck state such as ‘jammed state’, ‘liftedstate’, or ‘object-caught state’ while traveling by using a motioninstruction or sensor information and quickly escapes from the stuckstate caused in various traveling conditions by using a wheel structurecapable of changing a total height of the cleaning robot.

In addition, the cleaning robot may detect that the cleaning robot is ina stuck state by using sensor information obtained from sensors suitablefor small cleaning robots and robot instructions/information regardingsurroundings obtained for a predetermined time period and classifyingthe stuck state, so as to efficiently deal with various stuck states.

Furthermore, the degree of risk and type of the stuck state may bepredicted before the cleaning robot is in the stuck state so as to dealwith the stuck state in advance. The cleaning robot may efficiently dealwith the stuck state according to the degree of risk and type of thestuck state via rapid deceleration or quick stopping in accordance withthe predicted degree of the risk of the stuck state and usinginformation for selecting an escaping method suitable for the predictedtype of the stuck state.

BRIEF DESCRIPTION OF THE DRAWINGS

These and/or other aspects of the invention will become apparent andmore readily appreciated from the following description of theembodiments, taken in conjunction with the accompanying drawings ofwhich:

FIG. 1 is a perspective view illustrating a configuration of a cleaningrobot according to one embodiment of the present disclosure;

FIG. 2 is a bottom view illustrating a cleaning robot according to oneembodiment of the present disclosure;

FIG. 3 is a perspective view illustrating an appearance of a drive unitaccording to one embodiment of the present disclosure;

FIG. 4 is a cross-sectional view of the drive unit taken along line A-Aof FIG. 3;

FIG. 5 is an exploded perspective view illustrating the drive unit ofFIG. 3;

FIG. 6 is a perspective view illustrating a power transmission gear of adriving motor according to one embodiment of the present disclosure;

FIG. 7 is a perspective view illustrating a power transmission gear of atilting motor according to an embodiment of the present disclosure;

FIG. 8 is a control block diagram for determine a stuck state of acleaning robot according to one embodiment of the present disclosure;

FIGS. 9A and 9B are flowcharts illustrating a method of controllingtraveling of a cleaning robot according to one embodiment of the presentdisclosure;

FIG. 10 is a front view illustrating a cleaning robot traveling in anormal travel mode according to one embodiment of the presentdisclosure;

FIG. 11 is a side view illustrating the cleaning robot of FIG. 10;

FIG. 12 is a diagram illustrating positions of a main wheel and a subwheel illustrated in FIGS. 10 and 11 in detail;

FIG. 13 is a front view illustrating a cleaning robot in which a subwheel protrudes to escape from a stuck state such as ‘lifted state’according to one embodiment of the present disclosure;

FIG. 14 is a side view illustrating the cleaning robot of FIG. 13;

FIG. 15 is a diagram illustrating positions of a main wheel and a subwheel illustrated in FIGS. 13 and 14 in detail;

FIG. 16 is a front view illustrating a cleaning robot in which a totalheight of the cleaning robot is reduced to escape from a stuck statesuch as ‘jammed state’ according to one embodiment of the presentdisclosure;

FIG. 17 is a side view illustrating the cleaning robot of FIG. 16;

FIG. 18 is a diagram illustrating positions of a main wheel and a subwheel illustrated in FIGS. 16 and 17 in detail;

FIG. 19 is a diagram illustrating a stuck state in which a cleaningrobot gets stuck on a step according to one embodiment of the presentdisclosure;

FIG. 20 is a diagram illustrating the cleaning robot of FIG. 19 in whicha sub wheel protrudes downward to escape from a stuck state;

FIG. 21 is a diagram illustrating another stuck state in which acleaning robot gets stuck on a step according to one embodiment of thepresent disclosure; and

FIG. 22 is a diagram illustrating the cleaning robot of FIG. 21 in whicha sub wheel protrudes downward to escape from a stuck state.

FIG. 23 is a control block diagram for predicting a stuck state in acleaning robot according to the other embodiment of the presentdisclosure;

FIG. 24, parts (a)-(d), illustrates ‘lifted states’ of a cleaning robotaccording to the other embodiment of the present disclosure;

FIG. 25, parts (a) and (b), illustrates ‘jammed states’ of a cleaningrobot according to the other embodiment of the present disclosure;

FIG. 26 illustrates ‘object-caught states’ of a cleaning robot accordingto the other embodiment of the present disclosure;

FIG. 27 is a graph illustrating the degrees of risk of getting into thestuck state in the cleaning robot according to the other embodiment ofthe present disclosure;

FIG. 28 is a flowchart illustrating a method of predicting a low risk‘lifted state’ of a cleaning robot according to the other embodiment ofthe present disclosure;

FIG. 29 is a flowchart illustrating a method of predicting a low riskupper portion ‘jammed state’ of a cleaning robot according to the otherembodiment of the present disclosure;

FIG. 30 is a flowchart illustrating a method of predicting a low risk“object-caught state’ of a cleaning robot according to the otherembodiment of the present disclosure;

FIG. 31 is a flowchart illustrating a method of predicting a high risk“lifted state’ of a cleaning robot according to the other embodiment ofthe present disclosure;

FIG. 32 is a flowchart illustrating a method of predicting a high riskupper portion ‘jammed state’ of a cleaning robot according to the otherembodiment of the present disclosure; and

FIG. 33 is a flowchart illustrating a method of predicting a high risk“object-caught state’ of a cleaning robot according to the otherembodiment of the present disclosure.

DETAILED DESCRIPTION

Reference will now be made in detail to the embodiments of the presentdisclosure, examples of which are illustrated in the accompanyingdrawings, wherein like reference numerals refer to like elementsthroughout.

FIG. 1 is a perspective view illustrating a configuration of a cleaningrobot according to one embodiment of the present disclosure. FIG. 2 is abottom view illustrating a cleaning robot according to one embodiment ofthe present disclosure.

Referring to FIGS. 1 and 2, a cleaning robot 1 according to anembodiment of the present disclosure includes a main body 10 defining anexternal appearance of the cleaning robot 1, a cover 20 to cover anupper portion of the main body 10, brush devices 30 and 40 to sweep orscatter dust on a region to be cleaned, a power unit 50 to supplydriving power for driving the main body 10, and drive units 100 to movethe main body 10.

The main body 10 support various parts mounted therein while definingthe external appearance of the cleaning robot 1.

The brush devices 30 and 40 include a main brush device 30 providedadjacent to an suction port 11 formed at the bottom of the main body 10to sweep or scatter dust, thereby improving dust suction efficiency, andside brush devices 40 installed at opposite sides of the front of themain body 10 to sweep dust on a floor, on which the cleaning robot 1travels, to the suction port 11.

The main brush device 30 may include a drum type rotary brush unit 31having a length corresponding to the suction port 11 adjacent to thesuction port 11 to be rotated with respect to the floor in a rollerfashion to sweep or scatter dust on the floor and a brush motor 32 torotate the brush unit 31 forward or backward.

The brush unit 31 includes a roller 33 and a brush 34. The roller 33 isconfigured as a rigid body, rotatably coupled to the main body 10, anddriven by the brush motor 32. End caps are mounted on both ends of theroller 33 to prevent foreign substances from entering the brush motor32. The brush 34 may be formed of an elastic material and implanted inthe roller 33. The brush 34 is driven together with the roller 33 tosweep dust or foreign substances on a floor while the cleaning robot 1travels.

The side brush devices 40 are installed at opposite sides of the frontof the main body 10 at a predetermined interval and respectively includebrushes 41 that sweep dust on the floor which is not swept by the mainbrush device 30 and guide the dust toward the suction port 11 whilerotating in parallel to the floor.

The power unit 50 includes a battery to supply driving power to a firstmotor 140 (hereinafter, referred to as a driving motor, see FIG. 3) anda second motor 150 (hereinafter, referred to as a tilting motor, seeFIG. 3) of the drive unit 100, the brush motor 32 to rotate the mainbrush device 30, and other driving devices for driving the main body 10in a state of being electrically connected thereto. The battery may be arechargeable secondary battery. When the main body 10 is connected to adocking station (not shown) after cleaning, the battery may be rechargedat the docking station.

The drive units 100 may be provided at both sides of the center of themain body 10 and allow the main body 10 to execute moving operationssuch as forward movement, backward movement, and rotation during thecleaning process.

Both of the drive units 100 may respectively be rotated forward orbackward according to an instruction by a controller, which will bedescribed later, to allow the cleaning robot 1 to move forward orbackward or rotate. For example, both drive units 100 may be rotatedforward or backward to allow the cleaning robot 1 to travel forward orbackward. Alternatively, the cleaning robot 1 may be rotated left on thebasis of the front by rotating the right drive unit 100 forward whilerotating the left drive unit 100 backward. On the contrary, the cleaningrobot 1 may be rotated right on the basis of the front by rotating theleft drive unit 100 forward while rotating the right drive unit 100backward.

Hereinafter, the drive unit 100 located at the right side on the basisof the forward movement direction of the main body 10 will beexemplarily described, and a description thereof is also applied to thedrive unit 100 located at the left side on the basis of the forwardmovement direction of the main body 10 unless otherwise stated. Thedrive unit 100 will be described in detail later with reference to FIGS.3 to 5.

A caster wheel 60 is rotatably installed at the front of the main body10 such that an angle of the caster wheel 60 is changed depending uponthe state of a floor on which the cleaning robot 1 moves. The casterwheel 60 is used to stabilize the pose of the cleaning robot 1 andprevent the cleaning robot 1 from falling. The caster wheel 60 supportsthe cleaning robot 1 and may be a roller or caster-shaped wheel.

Meanwhile, although the caster wheel 60 is installed at the front of themain body 10 according to the current embodiment. However, embodimentsof the present disclosure are not limited thereto, and the same objectsand effects may be achieved even when the caster wheel 60 is installedat the back of the main body 10 or at both the front and back of themain body 10.

In addition, the main body 10 may include an encoder 211 to measure anamount of movement of the drive unit 100 driven in accordance with amotion instruction from a user, a position sensor 212 to measure anactual amount of movement of the cleaning robot, and a tilt sensor 213.The encoder 211, the position sensor 212, and the tilt sensor 213 willbe described in detail later with reference to FIG. 8.

The main body 10 may further include a contact sensor and a proximitysensor to sense an obstacle. For example, a bumper (not shown) installedat the front of the main body 10 may be used to sense an obstacle suchas a wall, and an infrared sensor (or an ultrasonic sensor) installed atthe bottom of the main body 10 may be used to sense an obstacle such asstairs.

FIG. 3 is a perspective view illustrating an appearance of a drive unitaccording to one embodiment of the present disclosure. FIG. 4 is across-sectional view of the drive unit taken along line A-A of FIG. 3.FIG. 5 is an exploded perspective view illustrating the drive unit ofFIG. 3.

Referring to FIGS. 3 to 5, the drive unit 100 includes a driving frame110, a main wheel 120 driven for a normal travel mode of the cleaningrobot 1, a sub wheel 130 driven to increase a total height of thecleaning robot 1 and to escape from a side jammed state, a driving motor140 disposed at one side of the driving frame 110 to transmit power tothe main wheel 120 and the sub wheel 130, a tilting motor 150 disposedperpendicular to the driving motor 140 to tilt the entire driving frame110 with respect to a rotation shaft, and a gear unit 160 disposedbetween the tilting motor 150 and the driving frame 110 to transmitdriving force of the tilting motor 150 to the driving frame 110.

The driving frame 110 may include a first frame 111 that receivesdriving force of the tilting motor 150 to be rotated about a rotationshaft, a second frame 112 that is disposed at an outer portion of themain wheel 120 and coupled to the first frame 111, and a third frame 113that is disposed at an inner portion of the main wheel 120 and coupledto the second frame 112.

Power transmission gears 114 which are rotated in a state of beingengaged with each other by received driving force of the driving motor140 are arranged in the first frame 111.

The power transmission gears 114 are rotatably supported by the firstframe 111 in a state of being engaged with each other and connected to adriving gear 142 coupled to a rotation shaft 141 of the driving motor140 to transmit driving force of the driving motor 140 to the main wheel120 and the sub wheel 130.

In addition, the third frame 113 prevents foreign substances frompenetrating into the driving frame 110.

The main wheel 120 includes a wheel 121 directly contacting the floorsurface of the region to be cleaned so as to execute traveling of themain body 10 and a driving shaft 122 fixed to the wheel 121 to rotatethe wheel 121.

In addition, the main wheels 120 are provided at both sides of thecenter of the main body 10 to allow the cleaning robot 1 to travel in anormal travel mode.

Furthermore, the main wheel 120 has a total height adjustment functionwhile being driven and may reduce the total height of the cleaning robot1.

The sub wheel 130 includes a wheel 131 contacting the floor surface in atraveling-impossible state (stuck state) of the cleaning robot 1 to move(escape) the cleaning robot 1 and a driving shaft 132 fixed to the wheel131 to rotate the wheel 131.

In addition, the sub wheel 130 is mounted at an inner portion than themain wheel 120 to allow the cleaning robot 1 to move (escape) from thetraveling-impossible stuck state.

Furthermore, since the sub wheel 130 is disposed at an inner portionthan the main wheel 120 by about 25 mm on the basis of the forwardmovement direction, power may be more efficiently restored when one ofthe main wheels 120 falls in a lateral direction during traveling of thecleaning robot 1 compared with a caterpillar-type.

The sub wheel 130 is not aligned at the same line of the traveldirection of the main wheel 120.

The driving motor 140 that is a DC motor transmitting driving power tothe main wheel 120 and the sub wheel 130 is coupled to an outer side ofthe first frame 111. Driving force of the driving motor 140 issimultaneously transmitted to the driving shaft 122 of the main wheel120 and the driving shaft 132 of the sub wheel 130 through the powertransmission gears 114 connected to a driving gear so as tosimultaneously drive the main wheel 120 and the sub wheel 130.Meanwhile, the main wheel 120 and the sub wheel 130 are designed to havethe same driving velocity.

The tilting motor 150 that is a DC motor aligned perpendicular to thedriving motor 140 for space reduction and tilting the entire drivingframe 110 with respect to the rotation shaft is coupled to an outerportion of the first frame 111. Driving force of the tilting motor 150is transmitted to the first frame 111 through the gear unit 160 torotate the entire driving frame 110.

The gear unit 160 includes a worm gear 161 coupled to the tilting motor150 to realize a large reduction gear ratio in a small area, a wormwheel 162 connected to the worm gear 161, a tilting gear 163 to rotatethe entire driving frame 110 about the rotation shaft in accordance withthe rotation of the worm gear 161, and a connection gear 164 to connectthe worm wheel 162 with the tilting gear 163.

The worm gear 161 may realize a maximum reduction gear ratio in the samearea and prevent backdrivability.

The tilting gear 163 that is a spur gear having 120 degrees connected tothe first frame 111 receives driving force of the tilting motor 50through the worm gear 161 to rotate the driving frame 1110 about arotation shaft 165. The rotation shaft 165 of the tilting gear 163 iscoaxial to the rotation shaft 141 of the driving motor 140.

FIG. 6 is a perspective view illustrating a power transmission gear of adriving motor according to one embodiment of the present disclosure.

Referring to FIG. 6, as power is supplied to the driving motor 140, thedriving motor 140 is rotated. Accordingly, the driving gear 142 coupledto the rotation shaft 141 of the driving motor 140 is rotated, anddriving force of the driving motor 140 is transmitted to the drivingshafts 122 and 132 of the main wheel 120 and the sub wheel 130 throughthe power transmission gears 114 connected to the driving gear 142,thereby simultaneously driving the main wheel 120 and the sub wheel 130.

Since the sub wheel 130 is in a raised state while the cleaning robot 1travels in a normal travel mode, only the main wheel 120 contacts thefloor of the region to be cleaned to allow the main body 10 to executetraveling operations such as forward movement, backward movement, androtation.

FIG. 7 is a perspective view illustrating a power transmission gear of atilting motor according to one embodiment of the present disclosure.

Referring to FIG. 7, as power is supplied to the tilting motor 150, thetilting motor 150 is rotated. Accordingly, the worm gear 161 coupled tothe tilting motor 150 is rotated, and the worm wheel 162 and theconnection gear 164 are rotated in accordance with the rotation of theworm gear 161, thereby rotating the tilting gear 163. As the tiltinggear 163 is rotated, the entire driving frame 110 is rotated by thefirst frame 111 connected to the tilting gear 163, thereby changing theposition of the sub wheel 130.

When the cleaning robot 1 is in the traveling-impossible stuck state,the position of the sub wheel 130 may be changed according to the typesof the stuck state such that the main wheel 120 and the sub wheel 130selectively or simultaneously contacts the floor of the region to becleaned to allow the cleaning robot 1 to escape from the stuck state andto execute traveling operations such as forward movement, backwardmovement, or rotation.

FIG. 8 is a control block diagram to determine a stuck state of acleaning robot according to one embodiment of the present disclosure.

Referring to FIG. 8, the cleaning robot 1 according to an embodiment ofthe present disclosure may further include an input unit 200 to receivea motion instruction from a user, a sensor unit 210 to detect a varietyof information regarding the region to be cleaned where the cleaningrobot 1 travels, a controller 220 that determines a traveling-impossiblestate (stuck state) of the cleaning robot 1 according to the motioninstruction from the input unit 200 and the sensor information of thesensor unit 210 and controls the tilting motor 150 to escape from thestuck state, a driving motor 140 to drive the main wheel 120 and the subwheel 130 in accordance with a driving instruction from the controller220, and a tilting motor 150 to change the position of the sub wheel 130in accordance with an escape instruction from the controller 220.

The input unit 200 includes a plurality of buttons on an upper portionof the main body 10 or a remote control (not shown) to receive a motioninstruction or a cleaning instruction for the cleaning robot 1 from theuser and transmit the input information to the controller 220.

The sensor unit 210 may include an encoder 211 to measure an amount ofmovement of the driving motor 140 that is rotated in accordance with themotion instruction from the user, a position sensor 212 to measure adistance the cleaning robot 1 has actually moved, a tilt sensor 213 tomeasure an angle (direction) the cleaning robot 1 has actually moved,and a current sensor 214 to measure current flowing through the tiltingmotor 150.

The encoder 211 is mounted on the driving motor 140 to measure theamount of movement of the cleaning robot 1 according to the motioninstruction and may be replaced with an amount of movement obtained viainverse calculation from the motion instruction for the cleaning robot1.

In addition, the encoder 211 is configured to generate a positionvariation according to intended movement of the cleaning robot 1 andcalculates the intended movement of the cleaning robot 1. In thisprocess, a distance variation and an angle variation of the cleaningrobot 1 acquired in accordance with the motion instruction for thecleaning robot 1 are subjected to low-pass filtering (LPF) to compensatea system delay, and the distance variation and the angle variationacquired by the encoder 211 are subjected to LPF to remove noise. Thedistance variation and the angle variation of the cleaning robot 1acquired by the encoder 211 is prioritized. However, when the distancevariation and the angle variation of the cleaning robot 1 acquired inaccordance with the motion instruction are significantly different fromthose acquired by the encoder 211, the distance variation and the anglevariation of the cleaning robot 1 acquired according to the motioninstruction are used to calculate the distance variation and the anglevariation of the cleaning robot 1 intended by the motion instruction forthe cleaning robot 1.

This is because, while information acquired by the encoder 211 isadopted as the movement variation intended by the motion instruction forthe cleaning robot 1 to obtain accurate information of actual movement,values of intended movement are compensated by using the distancevariation and the angle variation of the cleaning robot 1 calculated inaccordance with the motion instruction when movement of the cleaningrobot 1 is limited by a jammed state of the wheel, or the like.

The position sensor 212 measures an actual amount of movement of thecleaning robot 1. An optical flow sensor may be used in the absence oflight or even when there are no features on ceilings. A positionvariation from a mounting position of the optical flow sensor read bythe optical flow sensor is converted into coordinates of the center ofthe cleaning robot 1 and used. When localization or simultaneouslocalization and mapping (SLAM), which is a technique of detecting anabsolute position, operates, a position estimated thereby may also beused. Thus, an actual position calculation value of the cleaning robot 1estimated by a technique capable of measuring the actual position of thecleaning robot 1 may be used. These values obtained as described aboveare subjected to LPF to remove noise.

In addition, the position sensor 212 may be installed at any positioncapable of measuring the amount of actual movement of the cleaning robot1, and at least one position sensor 212 may be installed.

The tilt sensor 213 that is a sensor module capable of measuring aninclination of the cleaning robot 1 includes not only a gyro sensor,which directly measures the inclination by using a gravity direction,but also a sensor fusion of a tri-axial accelerometer and a tri-axialangular rate sensor detecting an inclination of the cleaning robot 1.

The tilt sensor 213 may also include a dual-axis tilt sensor capable ofdetecting stuck possibility, creating stuck conditions, and measuring aroll/pitch value by measuring an inclination and an inclinationvariation of the cleaning robot 1.

The current sensor 214 is installed at a power circuit to measure a load(torque or current value) applied to the tilting motor 150 and transmitsthe measured value to the controller 220.

Thus, the controller 220 detects whether the sub wheel 130 is restrictedby measuring current flowing through the tilting motor 150 by using thecurrent sensor 214 when the position of the sub wheel 130 is changed,and then finally judges a stuck state of the cleaning robot 1.

For example, on the assumption that the cleaning robot 1 gets stuck,when abnormally high current flows through the tilting motor 150 whilelowering the sub wheel 130, the controller 220 determines that the subwheel 130 is restricted and that the traveling-impossible stuck state ofthe cleaning robot 1 is an upper portion ‘jammed state’.

On the other hand, on the assumption that the cleaning robot 1 getsstuck, when abnormally high current does not flow through the tiltingmotor 150 while lowering the sub wheel 130, the controller 220determines that the sub wheel 130 is not restricted and that thetraveling-impossible stuck state of the cleaning robot 1 is a ‘liftedstate’.

The controller 220 that controls the overall operation of the cleaningrobot 1 controls the driving motor 140 to allow the cleaning robot 1 totravel in accordance with the motion instruction from the input unit200.

In addition, the controller 220 judges the traveling-impossible state(stuck state) of the cleaning robot 1 in accordance with the motioninstruction of the input unit 200 and sensor information of the sensorunit 210 and controls the tilting motor 150 to allow the cleaning robot1 to escape from the stuck state.

To this end, the controller 220 includes a first distance calculationunit 221 to estimate a distance variation L1 of the cleaning robot 1 tobe traveled in accordance with the motion instruction from the inputunit 200, a second distance calculation unit 222 to calculate avariation in a distance L2 the cleaning robot 1 has moved based onmeasurements of the encoder 211, a third distance calculation unit 223to calculate a variation in a distance L3 the cleaning robot 1 has movedbased on sensor information of the position sensor 212, a first anglecalculation unit 224 to calculate a variation in an angle G1 thecleaning robot has moved based on measurements of the encoder 211, asecond angle calculation unit 225 to calculate a variation in an angleG2 the cleaning robot 1 has moved based on sensor information of thetilt sensor 213, a first stuck candidate detection unit 226 to detect atraveling-impossible state of the cleaning robot 1 based on the distancevariations L1, L2, and L3 calculated by the first to third distancecalculation units 221, 222, and 223, a second stuck candidate detectionunit 227 to detect a traveling-impossible state of the cleaning robot 1based on the variations in the angle G1 and G2 calculated by the firstand second angle calculation units 224 and 225, and a stuckdetermination unit 228 to determine the stuck state of the cleaningrobot 1 using stuck candidates detected by the first and second stuckcandidate detection units 226 and 227.

The stuck determination unit 228 may further include a wheel restrictiondetection unit 229 to detect a restriction state of the sub wheel 130 bymeasuring current flowing through the tilting motor 150, which drivesthe sub wheel 130, by using the current sensor 214 after determining thetraveling-impossible state of the cleaning robot 1.

The cleaning unit 230 drives the main and side brushes to performcleaning operation by sucking up foreign substances such as dust fromthe floor of the region to be cleaned where the cleaning robot 1 travelsin accordance with the driving instruction from the controller 220.

The storage unit 240 stores a traveling pattern and a traveling pathpre-defined according to the cleaning instruction for the cleaning robot1 and sensor information detected while the cleaning robot 1 travels.

The storage unit 240 may also store map information of the region to becleaned.

Hereinafter, operations and effects of the cleaning robot and a controlmethod thereof according to an embodiment of the present disclosure willbe described.

FIGS. 9A and 9B are flowcharts illustrating a method of controllingtraveling of a cleaning robot according to an embodiment of the presentdisclosure.

Referring to FIGS. 9A and 9B, when a user inputs a motion instructionfor the cleaning robot 1 through the input unit 200 (300), thecontroller 220 receives the motion instruction input via the input unit200 and estimates the distance variation L1 of the cleaning robot 1 tobe traveled by using the first distance calculation unit 221 (302).

Then, the controller 220 rotates the driving motors 140 installed atopposite sides of the main body 10 in accordance with the motioninstruction to rotate the main wheels 120 forward or backward (in aregular direction or in a reverse direction), such that the cleaningrobot 1 travels on the floor along a predetermined travel pattern(right-angle travel pattern or random travel pattern).

As such, the encoder 211 measures the amount of movement of the drivingmotor 140 (movement distance and movement angle of the driving motor140) rotated in accordance with the motion instruction and transmits themeasurements to the controller 220 (304).

In this regard, the position sensor 212 measures the distance thecleaning robot 1 has actually moved and transmits the measurements tothe controller 220 (306), and the tilt sensor 213 measures the angle(direction) the cleaning robot 1 has actually moved and transmits themeasurements to the controller 220 (308).

Accordingly, the controller 220 calculates the variation in the distanceL2 the cleaning robot 1 has moved based on the measurements of theencoder 211 through the second distance calculation unit 222 (310) andcalculates the variation in the distance L3 the cleaning robot 1 hasmoved based on the sensor information of the position sensor 212 throughthe third distance calculation unit 223 (312).

Accordingly, the controller 220 detects a first stuck candidate thatdetects the traveling-impossible state of the cleaning robot 1 based onthe distance variations L1, L2, and L3 respectively calculated by thefirst to third distance calculation units 221, 222, and 223 through thefirst stuck candidate detection unit 226 (314).

The first stuck candidate is detected based on an instantaneous amountof movement of the cleaning robot 1. It is determined whether thecleaning robot 1 is in a traveling-impossible state by comparing andanalyzing the distance variation L3 calculated based on sensorinformation of the position sensor 212, the distance variation L2calculated based on the measurements of the encoder 211, and thedistance variation L1 estimated in accordance with the motioninstruction.

Then, the controller 220 calculates the variation in the angle G1 thecleaning robot 1 has moved based on the measurements of the encoder 211through the first angle calculation unit 224 (316) and calculates thevariation in the angle G2 the cleaning robot 1 has moved based on thesensor information of the tilt sensor 213 through the second anglecalculation unit 225 (318).

Accordingly, the controller 220 detects a second stuck candidate thatdetects the traveling-impossible state of the cleaning robot 1 based onthe variations in the angle G1 and G2 respectively calculated by thefirst and second angle calculation units 224 and 225 through the secondstuck candidate detection unit 227 (320).

The second stuck candidate is detected based on an instantaneous angledifference of the cleaning robot 1. It is determined whether thecleaning robot 1 is in a traveling-impossible state by comparing thevariation in the angle G2 calculated based on the sensor information ofthe tilt sensor 213 with the variation in the angle G1 calculated basedon the measurements of the encoder 211 to check whether the differencebetween the variation in the angle G1 and the variation in the angle G2is greater than a threshold.

When the first and second stuck candidates are detected, the controller220 determines whether the cleaning robot 1 is in thetraveling-impossible stuck state using the detected first and secondstuck candidates (324).

As a result of determination in operation 324, when the cleaning robot 1is in the stuck state, the controller 220 drives the tilting motor 150to change the position of the sub wheel 130 (326). In this regard, theposition of the sub wheel 130 is moved to a target position to thelowest position.

When the position of the sub wheel 130 is changed, the current sensor214 measures current flowing through the tilting motor 150 and transmitsthe measurements to the controller 220.

Thus, the controller 220 determines whether the sub wheel 130 isrestricted by detecting whether abnormally high current flows throughthe tilting motor 150, which lowers the sub wheel 130, based on thecurrent measured by the current sensor 214 (328).

As a result of determination in operation 328, when the sub wheel 130 isrestricted, the controller 220 determines that the cleaning robot 1enters a narrow space of an obstacle (e.g., space under a bed or sofa),and an upper portion of the cleaning robot 1 is jammed (330). Then, thecontroller 220 reduces the total height of the cleaning robot 1 andcontrols the cleaning robot 1 to travel in a direction opposite to theentered direction to escape from the stuck state (332).

Meanwhile, as a result of determination in operation 328, when the subwheel 130 is not restricted, the controller 220 determines that thecleaning robot 1 climbed on an obstacle, and the main wheel 120 of thecleaning robot 1 is lifted (340). Then, the controller 220 protrudes thesub wheel 130 downward and controls the cleaning robot 1 to escape fromthe stuck state (342).

Meanwhile, as a result of determination in operation 324, when thecleaning robot 1 is not in the stuck state, the controller 220 does notdrive the tilting motor 150 and controls the cleaning robot 1 to travelin a normal travel mode using the main wheel 120 (350).

Meanwhile, restriction of the sub wheel 130 is detected by measuringcurrent flowing through the tilting motor 150 according to thedescription given above. However, the embodiments of the presentdisclosure are not limited thereto, and the same objects and effects maybe achieved by detecting restriction of the sub wheel 130 using motioninstruction values and measurements by the encoder installed in thetilting motor 150.

FIG. 10 is a front view illustrating a cleaning robot traveling in anormal travel mode according to an embodiment of the present disclosure.FIG. 11 is a side view illustrating the cleaning robot of FIG. 10. FIG.12 is a diagram illustrating positions of a main wheel and a sub wheelillustrated in FIGS. 10 and 11 in detail.

Referring to FIGS. 10 to 12, while the cleaning robot 1 travels in anormal travel mode, a height (ride height) H1 between the bottom surfaceof the cleaning robot 1 and the floor is 10 mm, and the sub wheel 130 isin the raised state. Thus, the main body 10 travels in a state that onlythe main wheel 120 contacts the floor surface of the region to becleaned.

FIG. 13 is a front view illustrating a cleaning robot in which a subwheel protrudes to escape from a stuck state such as a ‘lifted state’according to an embodiment of the present disclosure. FIG. 14 is a sideview illustrating the cleaning robot of FIG. 13. FIG. 15 is a diagramillustrating positions of a main wheel and a sub wheel illustrated inFIGS. 13 and 14 in detail.

Referring to FIGS. 13 to 15, when the cleaning robot 1 climbs on anobstacle and the bottom surface of the cleaning robot 1 gets stuck, thedriving wheels of the cleaning robot 1 are lifted to cause thetraveling-impossible stuck state. In this case, driving force isrestored by slowly protruding the sub wheel 130 by tilting the drivingframe 110 downward to change the position of the sub wheel 130.

When the driving frame 110 is lowered, the main wheel 120 may contactthe floor to a predetermined angle. When the tilt angle is about 20degrees, driving force may be transmitted in a state that the main wheel120 and the sub wheel 130 simultaneously contact the floor. In thiscase, the main wheel 120 and the sub wheel 130 have the same velocityand have the largest contact area with the floor, thereby efficientlyescaping from a large area obstacle. When the tilt angle is greater than20 degrees, the sub wheel 130 raises the main body 10 in a tilted state,and the tilt angle is limited to 80 degrees. Here, a height H2 betweenthe bottom surface of the cleaning robot 1 and the floor is 55 mmincreased from 10 mm by 45 mm. Furthermore, since the sub wheel 130 isdisposed at an inner portion than the main wheel 120 by about 25 mm onthe basis of the forward movement direction, power may be moreefficiently restored when one of the main wheels 120 falls in a lateraldirection while the cleaning robot 1 travels compared with acaterpillar-type.

When driving force is restored as the main wheel 120 or the sub wheel130, which is idling or is not in sufficient contact with the floor,contacts the floor, current flowing through the tilting motor 150increases, thereby stopping protruding. After escaping from theobstacle, the cleaning robot 1 is controlled to return to the normaltravel mode as illustrated in FIGS. 10 to 12 and restore cleaningperformance.

FIG. 16 is a front view illustrating a cleaning robot in which a totalheight of the cleaning robot is reduced to escape from a stuck statesuch as a ‘jammed state’ according to an embodiment of the presentdisclosure. FIG. 17 is a side view illustrating the cleaning robot ofFIG. 16. FIG. 18 is a diagram illustrating positions of a main wheel anda sub wheel illustrated in FIGS. 16 and 17 in detail.

Referring to FIGS. 16 to 18, when the cleaning robot 1 enters a narrowspace of an obstacle (e.g., space under a bed or sofa), an upper portionof the cleaning robot 1 is jammed to cause the traveling-impossiblestuck state. When the upper portion of the cleaning robot 1 is jammed,the main wheel 120 is restricted to cause a restriction state of thedriving motor 140 which is detected by the encoder 211. In the struckstate, even though the driving frame 110 is tilted downward to changethe position of the sub wheel 130, the driving frame 10 cannot move.Accordingly, overcurrent flows through the tilting motor 150 and isdetected by the current sensor 214 to determine the “jammed state”.

In this case, the driving frame 110 is tilted upward to reduce a totalheight of the main wheel 120. When the driving frame 110 is raised, themain wheel 120 is deviated from the rotation shaft and raised toward theinside of the cleaning robot 1, thereby reducing the total height of thecleaning robot 1. Here, the total height of the cleaning robot 1 isreduced by up to 3.5 mm, so that a height H3 between the bottom surfaceof the cleaning robot 1 and the floor is 6.5 mm (lowest ride height).

The cleaning robot 1 escapes from the stuck state by restoring drivingforce by reducing the total height of the cleaning robot 1 and travelingin a direction opposite to the entered direction.

FIG. 19 is a diagram illustrating a stuck state in which a cleaningrobot gets stuck at a step according to an embodiment of the presentdisclosure. FIG. 20 is a diagram illustrating the cleaning robot of FIG.19 in which a sub wheel protrudes downward to escape from a stuck state.

Referring to FIGS. 19 and 20, when the cleaning robot 1 gets stuck at astep, and the main wheel 120 is lifted, driving force is restored byprotruding the sub wheel 130 downward such that the sub wheel 130contacts the floor surface of the region to be cleaned.

FIG. 21 is a diagram illustrating another stuck state in which acleaning robot gets stuck at a step according to an embodiment of thepresent disclosure. FIG. 22 is a diagram illustrating the cleaning robotof FIG. 21 in which a sub wheel protrudes downward to escape from astuck state.

Referring to FIGS. 21 and 22, when the cleaning robot 1 gets stuck at astep, and the main wheel 120 is lifted, driving force is restored byprotruding the sub wheel 130 downward such that the sub wheel 130contacts the floor surface of the region to be cleaned. Although the subwheel 130 is protruded to a maximum length in the drawings, the cleaningrobot 1 may escape from the struck state by protruding the sub wheel 130to an angle sufficient to contact the floor as described above.

Hereinafter, a method of predicting a degree of risk and a type of thestuck state before the cleaning robot 1 gets into the stuck state so asto deal with the stuck state in advance will be described with referenceto FIGS. 23 to 27.

FIG. 23 is a control block diagram for predicting a stuck state in acleaning robot 1 according to the other embodiment of the presentdisclosure, and the same reference numerals and the same terms are givento the same components as components described with reference to FIG. 8and descriptions thereof are omitted.

Referring to FIG. 23, the cleaning robot 1 according to anotherembodiment of the present disclosure further includes an input unit 200to receive a motion instruction from a user, a sensor unit 210 to detecta variety of information regarding a region to be cleaned where thecleaning robot 1 travels, a controller 220 that detects a degree of riskand a type of the stuck state according to the motion instruction of theinput unit 200 and sensor information of the sensor unit 210 andcontrols to escape from the stuck state, a driving motor 140 to drivethe main wheel 120 and the sub wheel 130 in accordance with a drivinginstruction from the controller 220, and a tilting motor 150 to change aposition of the sub wheel 130 in accordance with an escape instructionfrom the controller 220.

The input unit 200 includes a plurality of buttons on an upper portionof the main body 10 or a remote control (not shown) to receive a motioninstruction or a cleaning instruction for the cleaning robot 1 from theuser and transmit the input information to the controller 220.

The sensor unit 210 may include a first encoder 211-1 and a secondencoder 211-2 to measure an amount of movement of the driving motor 140that is rotated in accordance with the motion instruction from the user,a position sensor 212 to measure a distance the cleaning robot 1 hasactually moved, a tilt sensor 213 to measure an angle (direction) thecleaning robot 1 has actually moved, and a current sensor 214 to measurecurrent flowing through the tilting motor 150.

The first and second encoders 211-1 and 211-2 are respectively mountedon the driving motors 140 of both drive units 100 installed at oppositesides of the main body 10 and predict the degree of risk and type of thestuck state of the cleaning robot 1, thereby detecting whether a mainwheel 120 is pressed or jammed.

In this regard, the first encoder 211-1 is mounted on the left drivingmotor 140, and the second encoder 211-2 is mounted on the right drivingmotor 140.

The position sensor 212 is configured to measure an amount of actualmovement of the cleaning robot 1. An optical flow sensor may be used inthe absence of light or even when there are no features on ceilings.

The tilt sensor 213, which is a sensor module capable of measuring anangle (inclination) of the cleaning robot 1, predicts the degree of riskand type of the stuck state by measuring angle value (inclination value)and a variation of the angle value (inclination value) of the cleaningrobot 1.

The current sensor 214 is installed at a power circuit to measure a load(torque or current value) applied to the tilting motor 150 and transmitthe measured load to the controller 220.

The controller 220, which controls overall operation of the cleaningrobot 1, predicts that the cleaning robot 1 may get into the stuck statebased on sensor information received from the first and second encoders211-1 and 211-2 and the tilt sensor 213 and robotinstructions/information regarding surroundings obtained for apredetermined time period.

That is, the controller 220 judges the stuck state of the cleaning robot1 by using the angle value which is an angle the cleaning robot 1 hasmoved calculated in accordance with the measurements of the first andsecond encoders 211-1 and 211-2 and an angle value which is an angle thecleaning robot 1 has moved measured in accordance with sensorinformation of the tilt sensor 213.

In other words, the controller 220 calculates the angle the cleaningrobot 1 has moved in accordance with the measurements of the first andsecond encoders 211-1 and 211-2, measures the angle the cleaning robot 1has moved in accordance with the sensor information of the tilt sensor213, and judges the stuck state of the cleaning robot 1 by using adifference between the calculated angle of the cleaning robot 1 and themeasured angle of the cleaning robot 1.

In addition, the controller 220 judges the stuck state of the cleaningrobot 1 by detecting the difference between the calculated angle of thecleaning robot 1 and the measured angle of the cleaning robot 1 for apredetermined time period.

Besides, the controller 220 may predict the degree of risk and type ofthe stuck state before the cleaning robot 1 gets stuck to deal with thestuck state in advance. A method of predicting the degree of risk andtype of the stuck state will be described in more detail with referenceto FIGS. 28 to 33.

In addition, the controller 220 may rapidly decelerate or quickly stopthe cleaning robot 1 according to the predicted degree of risk of thestuck state enabling the cleaning robot 1 to escape from the risk of thestuck state and may provide information to select a method suitable forescaping from the stuck state according to the predicted type of thestuck state, so that the degree of risk and type of the stuck state maybe efficiently dealt with.

The cleaning unit 230 drives the main and side brushes to performcleaning operation by sucking up foreign substances such as dust fromthe floor of the region to be cleaned where the cleaning robot 1 travelsin accordance with the driving instruction from the controller 220.

The storage unit 240 stores a traveling pattern and a traveling pathpre-defined according to the cleaning instruction for the cleaning robot1 and sensor information detected while the cleaning robot 1 travels.

FIGS. 24 to 26 illustrate various stuck states of a cleaning robot 1according to the other embodiment of the present disclosure.

Stuck states often occurring in the cleaning robot 1 includetraveling-related three states as follows.

First, a ‘lifted state’ is a traveling-impossible state since the bottomsurface of the cleaning robot 1 is caught by a structure or doorthreshold or a traveling-impossible state due to friction between thebottom surface of the cleaning robot 1 and the floor since allsuspensions of wheels are lifted and the bottom surface of the cleaningrobot 1 contacts the floor.

Second, a ‘jammed state” of an upper portion is a state in which a frontportion or a side portion of the cleaning robot 1 is jammed in a gapwith a low height.

Third, an ‘object-caught state’ is a state in which the cleaning robot 1climbs on a soft object (such as, bedclothes or clothes to be washed) oris caught by a pile of clothes while traveling.

FIG. 24, parts (a)-(d), illustrates ‘lifted states’ of the cleaningrobot 1 according to the other embodiment of the present disclosure.

Referring to FIG. 24, parts (a)-(d), the ‘lifted states’ of the cleaningrobot 1 may be classified into the following four cases.

FIG. 24, part (a), illustrates a traveling-impossible state since anouter portion of the main wheel 120 of the cleaning robot 1 climbs on anobject. FIG. 24, part (b), illustrates a traveling-impossible statesince an object gets stuck in the bottom surface of the cleaning robot1. FIG. 24, part (c), illustrates a traveling-impossible state since thecleaning robot 1 climbs on an inclined object. FIG. 24, part (d),illustrates a traveling-impossible state since the entire bottom surfaceof the cleaning robot 1 is mounted on an object.

FIG. 25, parts (a) and (b), illustrates ‘jammed states’ of the cleaningrobot 1 according to the other embodiment of the present disclosure.

FIG. 25, part (a), illustrates a state in which a side portion of thecleaning robot 1 is jammed in a narrow space (such as space under a bedor sofa. FIG. 25, part (b), illustrates a state in which a front portionof the cleaning robot 1 is jammed in the narrow space.

Referring to FIG. 25, parts (a) and (b), the ‘jammed state’ of the upperportion of the cleaning robot 1 is a state in which a front portion orside portion of the cleaning robot 1 enters into the narrow space andcannot escape from the narrow space since the entire or a portion of thebottom surface of the cleaning robot 1 contact the floor. The ‘jammedstate’ occurs since a sensor does not operate until the cleaning robot 1is jammed in the narrow space.

FIG. 26, parts (a) and (b), illustrates ‘object-caught states’ of thecleaning robot 1 according to the other embodiment of the presentdisclosure.

FIG. 26, part (a), illustrates a state in which the cleaning robot 1climbs on a soft object (such as bedclothes or clothes to be washed)while traveling. FIG. 26, part (b), illustrates a state in which thecleaning robot 1 is caught by a soft object (such as a pile of clothes)while traveling.

In order to deal with the stuck states as illustrated in FIGS. 24 to 26in advance, the risk of the stuck state needs to be predicted. Thepredicting of the risk of the stuck state refers to detecting a low riskstate or high risk state in which a stuck state easily occurs althoughthe cleaning robot 1 is not in a real stuck state. A pre-detection isperformed by using the first and second encoders 211-1 and 211-2attached to the left and right side driving motors 140 and the tiltsensor 213. In this regard, variations measured by the first and secondencoders 211-1 and 211-2 and the tilt sensor 213 are used to perform thepre-detection of the stuck state. The pre-detection is performed afterchecking the variations for a predetermined time period.

FIG. 27 is a graph illustrating the degrees of risk of getting into thestuck state in the cleaning robot 1 according to the other embodiment ofthe present disclosure. The risk of the stuck state may be predictedbefore the cleaning robot 1 gets stuck in the stuck state by using theinclination value and a variation of the inclination value measured bythe tilt sensor 213.

In FIG. 27, the degree of risk used to predict the stuck state of thecleaning robot 1 has two stages. That is, the cleaning robot 1 has twostages of the degree of risk of getting stuck, i.e., a low risk and ahigh risk. At a low risk of getting stuck, the cleaning robot 1 escapesfrom the low risk state via a rapid deceleration of a traveling speed.At a high risk of getting stuck, the cleaning robot 1 escapes from thehigh risk state via quick stopping and rotation of the main wheels 120.

Then, a method of predicting the degree of risk and type of the stuckstate will be described with reference to FIGS. 28 and 33.

FIG. 28 is a flowchart illustrating a method of predicting a low risk‘lifted state’ of the cleaning robot according to the other embodimentof the present disclosure.

Referring to FIG. 28, when the user inputs the motion instruction forthe cleaning robot 1 via the input unit 200 (400), the controller 220rotates the driving motors 140 installed at opposite sides of the mainbody 10 in accordance with the motion instruction to rotate the mainwheels 120 forward or backward (in a regular direction or in a reversedirection), such that the cleaning robot 1 travels on the floor along apredetermined travel pattern (right-angle travel pattern or randomtravel pattern).

As such, the first and second encoders 211-1 and 211-2 measure theamounts of movement of the left and right driving motors 140 (movementdistances and movement angles of the driving motors 140) rotated inaccordance with the motion instruction and transmit the measurements tothe controller 220 (402).

In this regard, the tilt sensor 213 measures the angle value, i.e.,inclination value, the cleaning robot 1 has actually moved and transmitsthe measurements to the controller 220 (404).

Accordingly, the controller 220 calculates variations in distances A1and A2 the cleaning robot 1 has moved based on the measurements of thefirst and second encoders 211-1 and 211-2 (406) and calculates avariation in an angle, i.e., an inclination value, B the cleaning robot1 has moved based on the measurements of the tilt sensor 213 (408).

Accordingly, the controller 220 determines whether at least one encodervariation A1 or A2 between the variations A1 and A2 of the first andsecond encoders 211-1 and 211-2 is greater than a first encoderthreshold A_(th1) set by the user (410).

The first encoder threshold A_(th1) set by the user may be obtainedthrough Equation 1 below.

A _(th1) =V+V*0.06(sensor error)  Equation 1

In Equation 1, V is an average velocity of the cleaning robot 1 whilemoving and may be calculated through Equation 2 below.

V=n _(k)×2π·r/n ₀[rad/sec]  Equation 2

In Equation 2, n_(k) is the number of pulses of the first and secondencoders 211-1 and 211-2, r is a radius of the main wheel 120, and n₀ isthe number of pulses of the first and second encoders 211-1 and 211-2after one turn of the wheel.

Upon determination in operation 410, when the at least one encodervariation A1 or A2 is greater than the first encoder threshold A_(th1),the controller 220 determines whether the variation in the inclinationvalue B measured by the tilt sensor 213 is greater than a firstinclination threshold B_(th1) set by the user (412).

The first inclination threshold B_(th1) set by the user may becalculated by using Equation 3 below.

B _(th1)=±3°(sensor error)  Equation 3

Upon determination in operation 412, when the variation in theinclination value B is greater than the first inclination thresholdB_(th1), the controller 220 determines that the cleaning robot 1 is in alow risk ‘lifted state’ (414).

In conclusion, when the at least one encoder variation A1 or A2 betweenthe variations A1 and A2 of the first and second encoders 211-1 and211-2 is greater than the first encoder threshold A_(th1) set by theuser, and the inclination value variation B is greater than the firstinclination threshold B_(th1) set by the user, the controller 220 givesa warning that the cleaning robot 1 is in a low risk ‘lifted state’.

Then, the controller 220 rapidly decelerates the driving motors 140 toenable the cleaning robot 1 to escape from the low risk ‘lifted state’and provides information to select a method suitable for escaping fromthe ‘lifted state’.

Meanwhile, upon determination in operation 410, when the at least oneencoder variation A1 or A2 is not greater than the first encoderthreshold A_(th1), the controller 220 controls the cleaning robot 1 tokeep traveling in the normal travel mode in which the cleaning robot 1travels on the floor by rotating the driving motors 140 (416).

In addition, upon determination in operation 412, when the variation inthe inclination value B is not greater than the first inclinationthreshold B_(th1), the controller 220 controls the cleaning robot 1 tokeep traveling in the normal travel mode in which the cleaning robot 1travels on the floor by rotating the driving motors 140 (416).

FIG. 29 is a flowchart illustrating a method of predicting a low riskupper portion ‘jammed state’ of the cleaning robot 1 according to theother embodiment of the present disclosure.

Referring to FIG. 29, when the user inputs the motion instruction forthe cleaning robot 1 via the input unit 200 (500), the controller 220rotates the driving motors 140 installed at opposite sides of the mainbody 10 in accordance with the motion instruction to rotate the mainwheels 120 forward or backward (in a regular direction or in a reversedirection), such that the cleaning robot 1 travels on the floor along apredetermined travel pattern (right-angle travel pattern or randomtravel pattern).

As such, the first and second encoders 211-1 and 211-2 measure theamounts of movement of the left and right driving motors 140 (movementdistances and movement angles of the driving motors 140) rotated inaccordance with the motion instruction and transmit the measurements tothe controller 220 (502).

In this regard, the tilt sensor 213 measures the angle value, i.e.,inclination value, the cleaning robot 1 has actually moved and transmitsthe measurements to the controller 220 (504).

Accordingly, the controller 220 calculates variations in distances A1and A2 the cleaning robot 1 has moved based on the measurements of thefirst and second encoders 211-1 and 211-2 (506) and calculates avariation in an angle, i.e., an inclination value, B the cleaning robot1 has moved based on the measurements of the tilt sensor 213 (508).

Accordingly, the controller 220 determines whether at least one encodervariation A1 or A2 between the variations A1 and A2 of the first andsecond encoders 211-1 and 211-2 is greater than a first encoderthreshold A_(th1) set by the user (510).

Upon determination in operation 510, when the at least one encodervariation A1 or A2 is less than the first encoder threshold A_(th1), thecontroller 220 determines whether the variation in the inclination valueB measured by the tilt sensor 213 is greater than a first inclinationthreshold B_(th1) set by the user (512).

Upon determination in operation 512, when the variation in theinclination value B is greater than the first inclination thresholdB_(th1), the controller 220 determines that the cleaning robot 1 is in alow risk upper portion ‘jammed state’ (514).

In conclusion, when the at least one encoder variation A1 or A2 betweenthe variations A1 and A2 of the first and second encoders 211-1 and211-2 is less than the first encoder threshold A_(th1) set by the user,and the inclination value variation B is greater than the firstinclination threshold B_(th1) set by the user, the controller 220 givesa warning that the cleaning robot 1 is in a low risk upper portion‘jammed state’.

Then, the controller 220 rapidly decelerates the driving motors 140 toenable the cleaning robot 1 to escape from the low risk upper portion‘jammed state’ and provides information to select a method suitable forescaping from the upper portion ‘jammed state’.

Meanwhile, upon determination in operation 510, when the at least oneencoder variation A1 or A2 is not less than the first encoder thresholdA_(th1), the controller 220 controls the cleaning robot 1 to keeptraveling in the normal travel mode in which the cleaning robot 1travels on the floor by rotating the driving motors 140 (516).

In addition, upon determination in operation 512, when the variation inthe inclination value B is not greater than the first inclinationthreshold B_(th1), the controller 220 controls the cleaning robot 1 tokeep traveling in the normal travel mode in which the cleaning robot 1travels on the floor by rotating the driving motors 140 (516).

FIG. 30 is a flowchart illustrating a method of predicting a low risk“object-caught state’ of the cleaning robot 1 according to the otherembodiment of the present disclosure.

Referring to FIG. 30, when the user inputs the motion instruction forthe cleaning robot 1 via the input unit 200 (600), the controller 220rotates the driving motors 140 installed at opposite sides of the mainbody 10 in accordance with the motion instruction to rotate the mainwheels 120 forward or backward (in a regular direction or in a reversedirection), such that the cleaning robot 1 travels on the floor along apredetermined travel pattern (right-angle travel pattern or randomtravel pattern).

As such, the first and second encoders 211-1 and 211-2 measure theamounts of movement of the left and right driving motors 140 (movementdistances and movement angles of the driving motors 140) rotated inaccordance with the motion instruction and transmit the measurements tothe controller 220 (602).

In this regard, the tilt sensor 213 measures the angle value, i.e.,inclination value, the cleaning robot 1 has actually moved and transmitsthe measurements to the controller 220 (604).

Accordingly, the controller 220 calculates variations in angles A1_(t1)and A2_(t1) the cleaning robot 1 has moved based on the measurements ofthe first and second encoders 211-1 and 211-2 (606) and calculates avariation in an angle, i.e., an inclination value, B the cleaning robot1 has moved based on the measurements of the tilt sensor 213 (608).

Accordingly, the controller 220 determines whether at least one encodervariation A1_(t1) or A2_(t1) between the variations A1_(t1) and A2_(t1)of the first and second encoders 211-1 and 211-2 measured during a firsttime period t1 is less than a first encoder threshold A_(th1) set by theuser (610).

Upon determination in operation 610, when the at least one encodervariation A1_(t1) or A2_(t1) is less than the first encoder thresholdA_(th1), the controller 220 determines whether the variation in theinclination value B measured by the tilt sensor 213 is greater than areference threshold B_(s) of the upper portion jammed state (612).

Upon determination in operation 612, when the variation in theinclination value B is greater than the reference threshold B_(s) of theupper portion jammed state, the controller 220 determines that thecleaning robot 1 is in a low risk ‘object-caught state’ (614).

In conclusion, when the at least one encoder variation A1_(t1) orA1_(t1) between the variations A1_(t1) and A2_(t1) of the first andsecond encoders 211-1 and 211-2 measured by frequency checking duringthe first time period t1 is less than the first encoder thresholdA_(th1) set by the user, and the inclination value variation B isgreater than the reference threshold B_(s) of the upper portion jammedstate, the controller 220 gives a warning that the cleaning robot 1 isin a low risk ‘object-caught state’.

Then, the controller 220 rapidly decelerates the driving motors 140 toenable the cleaning robot 1 to escape from the low risk ‘object-caughtstate’ and provides information to select a method suitable for escapingfrom the ‘object-caught state’.

Meanwhile, upon determination in operation 610, when the at least oneencoder variation A1_(t1) or A2_(t1) between the variations A1_(t1) andA2_(t1) of the first and second encoders 211-1 and 211-2 measured byfrequency checking during the first time period t1 is not less than thefirst encoder threshold A_(th1) set by the user, the controller 220controls the cleaning robot 1 to keep traveling in the normal travelmode in which the cleaning robot 1 travels on the floor by rotating thedriving motors 140 (616).

In addition, upon determination in operation 612, when the variation inthe inclination value B is not greater than the reference thresholdB_(s) of the upper portion jammed state, the controller 220 controls thecleaning robot 1 to keep traveling in the normal travel mode in whichthe cleaning robot 1 travels on the floor by rotating the driving motors140 (616).

FIG. 31 is a flowchart illustrating a method of predicting a high risk“lifted state’ of the cleaning robot 1 according to the other embodimentof the present disclosure.

Referring to FIG. 31, when the user inputs the motion instruction forthe cleaning robot 1 via the input unit 200 (700), the controller 220rotates the driving motors 140 installed at opposite sides of the mainbody 10 in accordance with the motion instruction to rotate the mainwheels 120 forward or backward (in a regular direction or in a reversedirection), such that the cleaning robot 1 travels on the floor along apredetermined travel pattern (right-angle travel pattern or randomtravel pattern).

As such, the first and second encoders 211-1 and 211-2 measure theamounts of movement of the left and right driving motors 140 (movementdistances and movement angles of the driving motors 140) rotated inaccordance with the motion instruction and transmit the measurements tothe controller 220 (702).

In this regard, the tilt sensor 213 measures the angle value, i.e.,inclination value, the cleaning robot 1 has actually moved and transmitsthe measurements to the controller 220 (704).

Accordingly, the controller 220 calculates variations in distances A1and A2 the cleaning robot 1 has moved based on the measurements of thefirst and second encoders 211-1 and 211-2 (706) and calculates avariation in an angle, i.e., an inclination value, B the cleaning robot1 has moved based on the measurements of the tilt sensor 213 (708).

Accordingly, the controller 220 determines whether at least one encodervariation A1 or A2 between the variations A1 and A2 of the first andsecond encoders 211-1 and 211-2 indicates an idle state, in which themain wheels 120 are running idle, (open state) (710).

Upon determination in operation 710, when the at least one encodervariation A1 or A2 indicates the idle state, the controller 220determines whether the variation in the inclination value B measured bythe tilt sensor 213 is greater than a second inclination thresholdB_(th2) set by the user (712).

The second inclination threshold B_(th2) set by the user is may becalculated by using Equation 4 below.

B _(th2)=tan−1(2r/h)  Equation 4

In Equation 4, r is a radius of the main wheel 120 and h is a rideheight of the cleaning robot 1.

Upon determination in operation 712, when the variation in theinclination value B is greater than the second inclination thresholdB_(th2), the controller 220 determines that the cleaning robot 1 is in ahigh risk ‘lifted state’ (714).

In conclusion, when the at least one encoder variation A1 or A2 betweenthe variations A1 and A2 of the first and second encoders 211-1 and211-2 indicates an idle state, and the inclination value variation B isgreater than the second inclination threshold B_(th2) set by the user,the controller 220 gives a warning that the cleaning robot 1 is in ahigh risk ‘lifted state’.

Then, the controller 220 rapidly decelerates the driving motors 140 toenable the cleaning robot 1 to escape from the high risk ‘lifted state’and provides information to select a method suitable for escaping fromthe ‘lifted state’.

Meanwhile, upon determination in operation 710, when the at least oneencoder variation A1 or A2 does not indicate the idle state, thecontroller 220 controls the cleaning robot 1 to keep traveling in thenormal travel mode in which the cleaning robot 1 travels on the floor byrotating the driving motors 140 (716).

In addition, upon determination in operation 712, when the variation inthe inclination value B is not greater than the second inclinationthreshold B_(th2), the controller 220 controls the cleaning robot 1 tokeep traveling in the normal travel mode in which the cleaning robot 1travels on the floor by rotating the driving motors 140 (716).

FIG. 32 is a flowchart illustrating a method of predicting a high riskupper portion ‘jammed state’ of the cleaning robot 1 according to theother embodiment of the present disclosure.

Referring to FIG. 32, when the user inputs the motion instruction forthe cleaning robot 1 via the input unit 200 (800), the controller 220rotates the driving motors 140 installed at opposite sides of the mainbody 10 in accordance with the motion instruction to rotate the mainwheels 120 forward or backward (in a regular direction or in a reversedirection), such that the cleaning robot 1 travels on the floor along apredetermined travel pattern (right-angle travel pattern or randomtravel pattern).

As such, the first and second encoders 211-1 and 211-2 measure theamounts of movement of the left and right driving motors 140 (movementdistances and movement angles of the driving motors 140) rotated inaccordance with the motion instruction and transmit the measurements tothe controller 220 (802).

In this regard, the tilt sensor 213 measures the angle value, i.e.,inclination value, the cleaning robot 1 has actually moved and transmitsthe measurements to the controller 220 (804).

Accordingly, the controller 220 calculates variations in distances A1and A2 the cleaning robot 1 has moved based on the measurements of thefirst and second encoders 211-1 and 211-2 (806) and calculates avariation in an angle, i.e., an inclination value, B the cleaning robot1 has moved based on the measurements of the tilt sensor 213 (808).

Accordingly, the controller 220 determines whether at least one encodervariation A1 or A2 between the variations A1 and A2 of the first andsecond encoders 211-1 and 211-2 is less than the first encoder thresholdA_(th1) set by the user and greater than the second encoder thresholdA_(th2) set by the user (810).

The second encoder threshold A_(th2) set by the user may be calculatedby using Equation 5 below.

A _(th2)=0+V*0.06(sensor error)  Equation 5

In Equation 5, 0 is a velocity of the cleaning robot 1 in the stuckstate and V is an average velocity of the cleaning robot 1 while moving.

Upon determination in operation 810, when the at least one encodervariation A1 or A2 is less than the first encoder threshold A_(th1) andgreater than the second encoder threshold A_(th2), the controller 220determines whether the variation in the inclination value B measured bythe tilt sensor 213 is greater than the first inclination thresholdB_(th1) set by the user (812).

Upon determination in operation 812, when the variation in theinclination value B is greater than the first inclination thresholdB_(th1), the controller 220 determines that the cleaning robot 1 is in ahigh risk upper portion ‘jammed state’ (814).

In conclusion, when the at least one encoder variation A1 or A2 betweenthe variations A1 and A2 of the first and second encoders 211-1 and211-2 is less than the first encoder threshold A_(th1) set by the userand greater than the second encoder threshold A_(th2), and theinclination value variation B is greater than the first inclinationthreshold B_(th1) set by the user, the controller 220 gives a warningthat the cleaning robot 1 is in a high risk upper portion ‘jammedstate’.

Then, the controller 220 rapidly decelerates the driving motors 140 toenable the cleaning robot 1 to escape from the high risk upper portion‘jammed state’ and provides information to select a method suitable forescaping from the upper portion ‘jammed state’.

Meanwhile, upon determination in operation 810, when the at least oneencoder variation A1 or A2 is less than the first encoder thresholdA_(th1) and is not greater than the second encoder threshold A_(th2),the controller 220 controls the cleaning robot 1 to keep traveling inthe normal travel mode in which the cleaning robot 1 travels on thefloor by rotating the driving motors 140 (816).

In addition, upon determination in operation 812, when the variation inthe inclination value B is not greater than the first inclinationthreshold B_(th1), the controller 220 controls the cleaning robot 1 tokeep traveling in the normal travel mode in which the cleaning robot 1travels on the floor by rotating the driving motors 140 (816).

FIG. 33 is a flowchart illustrating a method of predicting a high risk“object-caught state’ of the cleaning robot 1 according to the otherembodiment of the present disclosure.

Referring to FIG. 33, when the user inputs the motion instruction forthe cleaning robot 1 via the input unit 200 (900), the controller 220rotates the driving motors 140 installed at opposite sides of the mainbody 10 in accordance with the motion instruction to rotate the mainwheels 120 forward or backward (in a regular direction or in a reversedirection), such that the cleaning robot 1 travels on the floor along apredetermined travel pattern (right-angle travel pattern or randomtravel pattern).

As such, the first and second encoders 211-1 and 211-2 measure theamounts of movement of the left and right driving motors 140 (movementdistances and movement angles of the driving motors 140) rotated inaccordance with the motion instruction and transmit the measurements tothe controller 220 (902).

In this regard, the tilt sensor 213 measures the angle value, i.e.,inclination value, the cleaning robot 1 has actually moved and transmitsthe measurements to the controller 220 (904).

Accordingly, the controller 220 calculates variations in angles A1_(t2)and A2_(t2) the cleaning robot 1 has moved based on the measurements ofthe first and second encoders 211-1 and 211-2 by frequency checkingduring a second time period t2 (906) and calculates a variation in anangle, i.e., an inclination value, B the cleaning robot 1 has movedbased on the measurements of the tilt sensor 213 (908).

Accordingly, the controller 220 determines whether at least one encodervariation A1_(t2) or A2_(t2) between the variations A1_(t2) and A2_(t2)of the first and second encoders 211-1 and 211-2 measured by frequencychecking during the second time period t2 is less than the first encoderthreshold A_(th1) set by the user (910).

Upon determination in operation 910, when the at least one encodervariation A1_(t2) or A2_(t2) is less than the first encoder thresholdA_(th1), the controller 220 determines whether the variation in theinclination value B measured by the tilt sensor 213 is greater than thereference threshold B_(s) of the upper portion jammed state (912).

Upon determination in operation 912, when the variation in theinclination value B is greater than the reference threshold B_(s) of theupper portion jammed state, the controller 220 determines that thecleaning robot 1 is in a high risk ‘object-caught state’ (914).

In conclusion, when the at least one encoder variation A1_(t2) orA2_(t2) between the variations A1_(t2) and A2_(t2) of the first andsecond encoders 211-1 and 211-2 measured by frequency checking duringthe second time period t2 is less than the first encoder thresholdA_(th1) set by the user, and the inclination value variation B isgreater than the reference threshold B_(s) of the upper portion jammedstate, the controller 220 gives a warning that the cleaning robot 1 isin a high risk ‘object-caught state’.

Since the cleaning robot 1 in the high risk ‘object-caught state’ has adegree of risk greater than that of the low risk ‘object-caught state’,the second time period t2 is set to be less than the first time periodt1.

Then, the controller 220 quickly stops the driving motors 140 to enablethe cleaning robot 1 to escape from the high risk ‘object-caught state’and provides information to select a method suitable for escaping fromthe ‘object-caught state’.

Meanwhile, upon determination in operation 910, when the at least oneencoder variation A1_(t2) or A2_(t2) between the variations A1_(t2) andA2_(t2) of the first and second encoders 211-1 and 211-2 measured byfrequency checking during the second time period t2 is not less than thefirst encoder threshold A_(th1) set by the user, the controller 220controls the cleaning robot 1 to keep traveling in the normal travelmode in which the cleaning robot 1 travels on the floor by rotating thedriving motors 140 (916).

In addition, upon determination in operation 912, when the variation inthe inclination value B is not greater than the reference thresholdB_(s) of the upper portion jammed state, the controller 220 controls thecleaning robot 1 to keep traveling in the normal travel mode in whichthe cleaning robot 1 travels on the floor by rotating the driving motors140 (916).

Although a few embodiments of the present disclosure have been shown anddescribed, it would be appreciated by those skilled in the art thatchanges may be made in these embodiments without departing from theprinciples and spirit of the invention, the scope of which is defined inthe claims and their equivalents.

What is claimed is:
 1. A cleaning robot comprising: a main body; a driveunit to move the main body; wherein the drive unit comprises a pluralityof motors to generate driving force; a plurality of wheels connected toone of the plurality of motors and rotating by driving force receivedfrom the one of the plurality of motors; and a driving frame to supportthe plurality of wheels, receive driving force from another motor amongthe plurality of motors, and rotate for changing positions of theplurality of wheels.
 2. The cleaning robot according to claim 1, whereinthe plurality of motors comprises: a first motor to rotate the pluralityof wheels to move the main body; and a second motor to rotate thedriving frame to control a height of the main body.
 3. The cleaningrobot according to claim 2, wherein the second motor is installedperpendicular to the first motor to rotate the driving frame about arotation shaft.
 4. The cleaning robot according to claim 2, furthercomprising a gear unit to transmit driving force of the second motor tothe driving frame, wherein the gear unit comprises a worm gear to rotatein a state of being coupled to the second motor; and a tilting gear torotate the driving frame about the rotation shaft in accordance with therotation of the worm gear.
 5. The cleaning robot according to claim 4,wherein the driving frame is coupled to the tilting gear, and the gearunit further comprises a connection gear to transmit driving force ofthe second motor between the worm gear and the tilting gear.
 6. Thecleaning robot according to claim 4, wherein a rotation shaft of thetilting gear is coaxially aligned to a rotation shaft of the firstmotor.
 7. The cleaning robot according to claim 2, wherein the pluralityof wheels comprises: a main wheel driven to move the main body; and asub wheel driven in a state of being installed at an inner portion thanthe main wheel.
 8. The cleaning robot according to claim 7, wherein themain wheel and the sub wheel are aligned to travel in differentdirections.
 9. The cleaning robot according to claim 7, furthercomprising a current sensor to measure current flowing through thesecond motor, wherein the current sensor detects whether the sub wheelcontacts a floor or whether the sub wheel is restricted while thedriving frame rotates.
 10. A cleaning robot comprising a main body and adrive unit to move the main body, wherein the drive unit comprises awheel assembly comprising a main wheel and a sub wheel and a drivingframe rotatable to change a position of the wheel assembly, furthercomprising: an input unit to input a motion instruction for the cleaningrobot; an encoder to measure movement of the drive unit moving inaccordance with the input motion instruction; a position sensor tomeasure movement of the cleaning robot; and a controller to determine atraveling state of the cleaning robot by using a position value acquiredin accordance with the input motion instruction, a position value of thecleaning robot calculated based on measurements of the encoder, and aposition value of the cleaning robot calculated based on sensorinformation of the position sensor.
 11. The cleaning robot according toclaim 10, wherein the drive unit further comprises a first motor and asecond motor to transmit driving force, the main wheel and the sub wheelare connected to the first motor and rotate by driving force receivedfrom the first motor, and the driving frame rotates by driving forcereceived from the second motor to change a position of the wheelassembly.
 12. The cleaning robot according to claim 11, wherein theencoder is installed in the first motor to measure an amount of movementof the first motor according to the motion instruction for the cleaningrobot.
 13. The cleaning robot according to claim 10, wherein theposition sensor is an optical flow sensor to measure a distance thecleaning robot has actually moved.
 14. The cleaning robot according toclaim 10, wherein at least one position sensor is installed in the mainbody.
 15. The cleaning robot according to claim 11, wherein thecontroller drives the second motor to rotate the driving framecomprising the wheel assembly upon determining that the cleaning robotis in a traveling-impossible stuck state.
 16. The cleaning robotaccording to claim 15, further comprising a current sensor to sensecurrent flowing through the second motor, wherein the controller stopsthe rotating of the driving frame when a change of current flowingthrough the second motor is detected during the rotation of the drivingframe.
 17. The cleaning robot according to claim 15, further comprisinga current sensor to sense current flowing through the second motor,wherein the controller changes the rotation of the driving frame in theopposite direction when overcurrent is detected in the second motor. 18.The cleaning robot according to claim 10, further comprising a tiltsensor to measure an inclination of the cleaning robot, wherein thecontroller calculates an angle the cleaning robot has moved based onmeasurements of the encoder, measures an angle the cleaning robot hasmoved based on sensor information of the tilt sensor, and determines atraveling state of the cleaning robot by using the calculated angle ofthe cleaning robot and the measured angle of the cleaning robot.
 19. Thecleaning robot according to claim 18, wherein the tilt sensor is a gyrosensor to measure an angle the cleaning robot has actually moved. 20.The cleaning robot according to claim 18, wherein the controllerdetermines whether the cleaning robot is in a traveling-impossible stuckstate by detecting a difference between the calculated position or angleof the cleaning robot and the measured position or angle of the cleaningrobot for a predetermined time period.
 21. A method of controlling acleaning robot comprising: a main body; and a drive unit comprising awheel assembly comprising a main wheel and a sub wheel and a drivingframe supporting the wheel assembly and rotatable to change a positionof the wheel assembly, the method comprising: calculating a position orangle the cleaning robot has moved by measuring movement of the driveunit moving in accordance with the input motion instruction through anencoder; measuring movement of the cleaning robot through a sensor; anddetermining a traveling state of the cleaning robot by using thecalculated position or angle of the cleaning robot and the measuredposition or angle of the cleaning robot.
 22. The method according toclaim 21, wherein the sensor comprises: a position sensor to measure adistance the cleaning robot has actually moved; and a tilt sensor tomeasure an angle the cleaning robot has actually moved.
 23. The methodaccording to claim 21, wherein the determining of the traveling state ofthe cleaning robot is performed by determining whether the cleaningrobot is in a traveling-impossible stuck state by detecting a differencebetween the calculated position or angle of the cleaning robot and themeasured position or angle of the cleaning robot for a predeterminedtime period.
 24. The method according to claim 21, wherein the drivingframe is rotated upon determination that the cleaning robot is in atraveling-impossible stuck state.
 25. The method according to claim 24,wherein when a change of current is sensed in a motor rotating thedriving frame while the driving frame rotates, the rotation of thedriving frame is stopped.
 26. The method according to claim 24, whereinwhen overcurrent is sensed in a motor rotating the driving frame whilethe driving frame rotates, the rotation of the driving frame is changedin the opposite direction.
 27. A cleaning robot comprising a main bodyand a drive unit to move the main body, further comprising: an inputunit to input a motion instruction for the cleaning robot; a tilt sensorto measure an inclination of the cleaning robot moving in accordancewith the input motion instruction; and a controller to determine a stuckstate of the cleaning robot by using an angle value obtained bymeasuring an angle the cleaning robot has moved based on sensorinformation of the tilt sensor.
 28. The cleaning robot according toclaim 27, wherein the drive unit further comprises left and rightdriving motors to transmit driving force to left and right sides of themain body, and the cleaning robot further comprises a first encoderinstalled in the left driving motor to measure an amount of movement ofthe left driving motor generated by the motion instruction for thecleaning robot, and a second encoder installed in the right drivingmotor to measure an amount of movement of the right driving motorgenerated by the motion instruction for the cleaning robot.
 29. Thecleaning robot according to claim 28, wherein the tilt sensor is a gyrosensor to measure an inclination value the cleaning robot has actuallymoved.
 30. The cleaning robot according to claim 29, wherein thecontroller calculates an angle the cleaning robot has moved based onmeasurements of the first and second encoders, measures an angle thecleaning robot has moved based on sensor information of the tilt sensor,and determines a stuck state of the cleaning robot by using a differencebetween the calculated angle of the cleaning robot and the measuredangle of the cleaning robot.
 31. The cleaning robot according to claim30, wherein the controller calculates first and second encodervariations A1 and A2 the cleaning robot has moved based on themeasurements of the first and second encoders, calculates an inclinationvalue variation B the cleaning robot has moved based on the sensorinformation of the tilt sensor, and determines a degree of risk and typeof the stuck state of the cleaning robot by using the calculated firstand second encoder variations A1 and A2 and the calculated inclinationvalue variation B.
 32. The cleaning robot according to claim 31, whereinthe controller determines that the cleaning robot is in a low risk‘lifted stated’ when at least one of the first and second encodervariations A1 and A2 is greater than a first encoder threshold(A_(th1)=V+V*0.06), and the inclination value variation B is greaterthan a first inclination threshold (B_(th1)=±3°), wherein in the firstencoder threshold A_(th1), V is an average velocity of the cleaningrobot.
 33. The cleaning robot according to claim 32, wherein thecontroller rapidly decelerates the driving motors to enable the cleaningrobot to escape from the low risk ‘lifted state’ and providesinformation suitable for escaping from the ‘lifted state’.
 34. Thecleaning robot according to claim 31, wherein the controller determinesthat the cleaning robot is in a low risk upper portion ‘jammed stated’when at least one of the first and second encoder variations A1 and A2is less than a first encoder threshold (A_(th1)=V+V*0.06), and theinclination value variation B is greater than a first inclinationthreshold (B_(th1)=±3°), wherein in the first encoder threshold A_(th1),V is an average velocity of the cleaning robot.
 35. The cleaning robotaccording to claim 34, wherein the controller rapidly decelerates thedriving motors to enable the cleaning robot to escape from the low riskupper portion ‘jammed state’ and provides information suitable forescaping from the upper portion ‘jammed state’.
 36. The cleaning robotaccording to claim 30, wherein the controller determines the stuck stateof the cleaning robot by detecting the difference between the calculatedangle of the cleaning robot and the measured angle of the cleaning robotfor a predetermined time period.
 37. The cleaning robot according toclaim 36, wherein the controller calculates first and second encodervariations A1_(t1) and A2_(t1) the cleaning robot has moved for a firsttime period t1 based on the measurements of the first and secondencoders, calculates an inclination value variation B the cleaning robothas moved based on the sensor information of the tilt sensor, anddetermines a degree of risk and type of the stuck state of the cleaningrobot by using the calculated first and second encoder variationsA1_(t1) and A2_(t1) and the calculated inclination value variation B.38. The cleaning robot according to claim 37, wherein the controllerdetermines that the cleaning robot is in a low risk ‘object-caughtstate’ when at least one of the first and second encoder variationsA1_(t1) and A2_(t1) is less than a first encoder threshold(A_(th1)=V+V*0.06), and the inclination value variation B is greaterthan a reference threshold B_(s) of the upper portion jammed state,wherein in the first encoder threshold A_(th1), V is an average velocityof the cleaning robot.
 39. The cleaning robot according to claim 38,wherein the controller rapidly decelerates the driving motors to enablethe cleaning robot to escape from the low risk “object-caught state’ andprovides information suitable for escaping from ‘object-caught state’.40. The cleaning robot according to claim 31, wherein the controllerdetermines that the cleaning robot is in a high risk ‘lifted state’ whenat least one of the first and second encoder variations A1 and A2indicates an idle state, and the inclination value variation B isgreater than a second inclination threshold (B_(th2)=tan−1 (2r/h)),wherein in the second inclination threshold B_(th2), r is a radius ofthe main wheel and h is a ride height of the cleaning robot.
 41. Thecleaning robot according to claim 40, wherein the controller quicklystops the driving motors to enable the cleaning robot to escape from thehigh risk ‘lifted state’ and provides information suitable for escapingfrom the ‘lifted state’.
 42. The cleaning robot according to claim 31,wherein the controller determines that the cleaning robot is in a highrisk upper portion ‘jammed stated’ when at least one of the first andsecond encoder variations A1 and A2 is less than a first encoderthreshold (A_(th1)=V+V*0.06) and greater than a second encoder thresholdA_(th2), and the inclination value variation B is greater than a firstinclination threshold (B_(th1)=±3°), wherein in the first encoderthreshold A_(th1), V is an average velocity of the cleaning robot. 43.The cleaning robot according to claim 42, wherein the controller quicklystops the driving motors to enable the cleaning robot to escape from thehigh risk upper portion ‘jammed state’ and provides information suitablefor escaping from the upper portion ‘jammed state’
 44. The cleaningrobot according to claim 36, wherein the controller calculates first andsecond encoder variations A1_(t2) and A2_(t2) the cleaning robot hasmoved for a second time period t2 based on the measurements of the firstand second encoders, calculates an inclination value variation B thecleaning robot has moved based on the sensor information of the tiltsensor, and determines a degree of risk and type of the stuck state ofthe cleaning robot by using the calculated first and second encodervariations A1_(t2) and A2_(t2) and the calculated inclination valuevariation B.
 45. The cleaning robot according to claim 44, wherein thecontroller determines that the cleaning robot is in a high risk‘object-caught state’ when at least one of the first and second encodervariations A1_(t2) and A2_(t2) is less than a first encoder threshold(A_(th1)=V+V*0.06), and the inclination value variation B is greaterthan a reference threshold B_(s) of the upper portion jammed state,wherein in the first encoder threshold A_(th1), V is an average velocityof the cleaning robot.
 46. The cleaning robot according to claim 45,wherein the controller quickly stops the driving motors to enable thecleaning robot to escape from the high risk “object-caught state’ andprovides information suitable for escaping from the ‘object-caughtstate’.
 47. A cleaning robot comprising a main body and left and rightdrive units to move the main body, further comprising: an input unit toinput a motion instruction for the cleaning robot; first and secondencoders to measure movement of the left and right drive units moving inaccordance with the input motion instruction; and a controller todetermine a stuck state of the cleaning robot by using an angle valueobtained by calculating an angle the cleaning robot has moved based onmeasurements of the first and second encoders.
 48. The cleaning robotaccording to claim 47, further comprising a tilt sensor to measure aninclination of the cleaning robot, wherein the controller determines astuck state of the cleaning robot by using an angle value obtained bycalculating an angle the cleaning robot has moved based on measurementsof the first and second encoders and an angle value obtained bymeasuring an angle the cleaning robot has moved based on sensorinformation of the tilt sensor.
 49. A method of controlling a cleaningrobot comprising a main body and left and right drive units to move themain body, the method comprising: calculating an angle the cleaningrobot has moved by measuring movement of the left and right drive unitsmoving in accordance with an input motion instruction by using first andsecond encoders; measuring an angle the cleaning robot has moved byusing a tilt sensor; and determining a stuck state in which traveling ofthe cleaning robot is impossible by using the calculated angle of thecleaning robot and the measured angle of the cleaning robot.
 50. Themethod according to claim 49, wherein the determining of the stuck stateof the cleaning robot is performed by calculating an angle the cleaningrobot has moved based on measurements of the first and second encoders,measuring an angle the cleaning robot has moved based on sensorinformation of the tilt sensor, and determining the stuck state of thecleaning robot by using a difference between the calculated angle of thecleaning robot and the measured angle of the cleaning robot.
 51. Acleaning robot configured to detect and escape from a stuck state,comprising: a main body; a right drive unit to move the main bodypositioned on a ride side of the main body, the right drive unitincluding a right motor and a right wheel assembly configured to drivethe main body in forward, backward, left and right directions, and alsoconfigured to raise and lower a ride height of the main body on theright side thereof; a left drive unit to move the main body positionedon a left side of the main body, the left drive unit including a leftmotor and a left wheel assembly configured to drive the main body inforward, backward, left and right directions, and also configured toraise and lower the ride height of the main body on the left sidethereof; a plurality of sensors to detect an approaching stuck state;and a controller to control the right and left drive units to escape thestuck state by adjusting one or more of the of a driving direction andthe ride of the right and left drive units.